<!DOCTYPE html>



<html>
    <head>
        <title>#{get 'title' /}</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <link rel="stylesheet" type="text/css" media="screen" href="@{'/public/stylesheets/main.css'}">
        <link rel="stylesheet" type="text/css" media="screen" href="@{'/public/stylesheets/jtc/jquery-ui-1.8.14.custom.css'}">
        <link rel="stylesheet" type="text/css" media="screen" href="@{'/public/stylesheets/jtc.css'}">
        #{get 'moreStyles' /}
        <link rel="shortcut icon" type="image/png" href="@{'/public/images/jtc.png'}">
        <script src="@{'/public/javascripts/jquery-1.4.4.min.js'}" type="text/javascript" charset="utf-8"></script>
        <script src="@{'/public/javascripts/jquery-ui-1.8.11.custom.min.js'}" type="text/javascript" charset="utf-8"></script>
        <script src="@{'/public/javascripts/jtc.js'}" type="text/javascript" charset="utf-8"></script>
        #{get 'moreScripts' /}
        <script type="text/javascript">
    	    $(document).ready(function(){
		       	manterUsuario = new clsManterUsuario();
		       	manterUsuario.configurarEventos();
		       	manterChamado = new clsManterChamado();
		       	manterChamado.configurarEventos();
        	});
    	    
    	    var clsManterChamado = function(){
				este = this;
		      	var tornarListaChamadosSelecionavel = function() {
		       		$("#listaChamados li").hover(
		       			  function () {
		       			    $(this).addClass("hover");
		       			  },
		       			  function () {
		       			    $(this).removeClass("hover");
		       			  }
		       		);
		       		$("#listaChamados li").click(function(evento) {
		       			idChamado = $(this).attr("cid");
		       			consultarChamado(idChamado);
		       			
		       		});
		       	}
		      	var consultarChamado = function(chamado) {
		      		
		      		$("#dadosChamado").html("<br><br><br><br><span class='carregando'>Carregando...</span>");
		      		$.post('@{Chamados.getChamado()}', { idChamado: chamado },  function(data) {
		      			 $("#dadosChamado").html(data);
		      	
		      			$("#chamadoAcoes input[name='Atender']").click(function(evento) {
		      				//alert("Pendente de implementação");
		      				idChamado =  $("#chamadoAcoes input[name='idChamado']").attr("value");
		      				
		      				atenterChamado(idChamado);
		      				return false;
		      			});
		      			$("#chamadoAcoes input[name='Solucionar']").click(function(evento) {
		      				//alert("Pendente de implementação");
		      				idChamado =  $("#chamadoAcoes input[name='idChamado']").attr("value");
		      				solucao = $("#chamadoAcoes textarea[name='descricaoSolucao']").val();
		      				cadastrarSolucao(idChamado, solucao);
		      				return false;
		      			});
		      			 
					});
		      	}
		      	var cadastrarSolucao = function(idChamado, solucao){
		      		$.post('@{Chamados.cadastrarSolucao()}', { idChamado: idChamado, solucao: solucao  },  function(data) {
		      			alert(data);
		      			consultarChamado(idChamado);
					});
		      		
		      	}
		      	var atenterChamado = function(idChamado) {
		      		$.post('@{Chamados.atenderChamado()}', { idChamado: idChamado },  function(data) {
		      			alert(data);
		      			consultarChamado(idChamado);
		      		});
		      	}
		      	
		      	var getTodosChamados = function() {
		      		$.post('@{Chamados.getChamados()}', { filtro: "todos" },  function(data) {
	  					$("#listaChamados").html(data);
	  					tornarListaChamadosSelecionavel();
					});
		      	}

	   			this.configurarEventos = function() {
	   				getTodosChamados();
					$("#selecionarChamado input[name='abrirChamado']").click(function(evento) {
						 $.post('@{Chamados.getFormularioCadastro()}', {},  function(data) {
		       				 $("#dadosChamado").html(data);
		       				 $("#formAbrirChamado input[type='submit']").click(function(evento) {
		       					tipoProblemas = $("#formAbrirChamado select[name='tipoProblemas']").attr("value");
		       					
		       					 assunto =  $("#formAbrirChamado input[name='assunto']").attr("value");
		       					 descricao =  $("#formAbrirChamado textarea[name='descricao']").val();
		       					 $.post('@{Chamados.abrirChamado()}', { tipoProblemas: tipoProblemas, assunto: assunto, descricao: descricao  },  function(data) {
		       						 alert(data);
		       						 getTodosChamados();
		       						 $("#dadosChamado").html("Selecione um chamado para ser exibido");
		       					 });
		       					 return false;
		       					
		       					 
						 	 });		 
		       				    
		       			});
						 return false;
					});
					
					$("#selecaoStatus").change(function(evento) {
							var filtro
							filtro = $("#selecaoStatus").val();
							if(filtro == "todos"){
								$.post('@{Chamados.getChamados()}', { filtro: this.value },  function(data) {
				  					$("#listaChamados").html(data);
				  					tornarListaChamadosSelecionavel();
								});
							}
							if(filtro == "solucionado"){
								
								$.post('@{Chamados.getChamadosSolucionados()}', { filtro: this.value },  function(data) {
				  					$("#listaChamados").html(data);
				  					tornarListaChamadosSelecionavel();
				   			 	});
								//alert("solucionados");
							}
							 if(filtro == "aberto"){
								$.post('@{Chamados.getChamadosAbertos()}', { filtro: this.value },  function(data) {
				  					$("#listaChamados").html(data);
				  					tornarListaChamadosSelecionavel();
				   			 	});
								
								//alert("abertos");
							}	
							 if(filtro == "recebido"){
								
								 $.post('@{Chamados.getChamadosAtendidos()}', { filtro: this.value },  function(data) {
					  					$("#listaChamados").html(data);
					  					tornarListaChamadosSelecionavel();
					   			 	});
									//alert("recebidos");
									
							 }
							 if(filtro == "finalizado"){
									
								 $.post('@{Chamados.getChamadosFinalizados()}', { filtro: this.value },  function(data) {
					  					$("#listaChamados").html(data);
					  					tornarListaChamadosSelecionavel();
					   			 	});
									//alert("recebidos");
									
							 }
					  });
				
				}
				
			}
    	    
        	var clsManterUsuario = function() {
		       	 este = this;
		       	 
		       	var tornarListaSelecionavel = function() {
		       		$("#listaUsuarios li").hover(
		       			  function () {
		       			    $(this).addClass("hover");
		       			  },
		       			  function () {
		       			    $(this).removeClass("hover");
		       			  }
		       		);
		       		
		       		$("#listaUsuarios li").click(function(evento) {
		       			idPessoa = $(this).attr("pid");
		       			$("#listaUsuarios li").removeClass("ativo");
		       			$(this).addClass("ativo");
		       			consultarPessoa(idPessoa);
		       		});
		       	} 
		       	 
		       	 this.configurarEventos = function() {
		       		 $("#selecionarUsuario input[name='termoBusca']").keyup(function(eventData) {
		       			 $.post('@{ManterPessoa.getPessoas()}', { termoBusca: this.value },  function(data) {
		       	    			//$('#listarUsuarios').html(data);
		       				    $("#listaUsuarios").html(data);
		       				    
		       				    tornarListaSelecionavel();
		       				    
		       				 	//alert(data);
		       			 });
		       		 });
		       		
		       		// Quando clicar em cadastro novo, abilitar formulario 
		       		$("#manterUsuarios input[name='botaoCadastarUsuario']").click(function(evento) {
		       			$("#dadosCadastro input").removeAttr("disabled");
		       			$("#dadosCadastro input").attr("value", "");
		       			$("#dadosCadastroAcoes").html("<input type='submit' name='Salvar' value='Salvar' />");
		       			$("#dadosCadastroAcoes input[name='Salvar']").click(function(evento) {
		       				nomeCompleto = $("#dadosCadastro input[name='nomeCompleto']").attr("value");
		       				nome = $("#dadosCadastro input[name='nome']").attr("value");
		       				email = $("#dadosCadastro input[name='email']").attr("value");
		       				cpf = $("#dadosCadastro input[name='cpf']").attr("value");
		       				senha = $("#dadosCadastro input[name='senha']").attr("value");
		       				senhaRepetida = $("#dadosCadastro input[name='senhaRepetida']").attr("value")
		       				if(!(senha==senhaRepetida)) {
	       						alert("A senha de confirmação não confere");
	       						return false;
	       					}
		       				cadastrarNovaPessoa(nomeCompleto, nome, email, cpf, senha )
		       				return false;
		       			});	
		       		});	
       	 		}
		       	
		       	 
		       	var cadastrarNovaPessoa = function(nomeCompleto, nome, email, cpf, senha) {
		       		$.post('@{ManterPessoa.cadastrarPessoa()}', { nomeCompleto:nomeCompleto, nome:nome, email:email, cpf:cpf, senha:senha  },  function(data) {
       				 	alert(data);
       				 	$("#dadosCadastro input").attr("disabled", "disabled");
       					$("#dadosCadastroAcoes").html("<input type='submit' name='Alterar' value='Alterar' />&nbsp;&nbsp;&nbsp;&nbsp;<input type='submit' name='Excluir' value='Excluir' />");	
       					$("#dadosCadastroAcoes input[name='Alterar']").click(function(evento) {
       						mostrarAlterarPessoa();
       						return false;
       					});
       				
       			 	});
		       	}
				var excluirPessoa = function(idPessoa){
					$.post('@{ManterPessoa.excluirPessoa()}', { idPessoa:idPessoa },  function(data) {
       				 	alert(data);
       				 	$("#dadosCadastro input").attr("value", "");
       				 	$("#dadosCadastroAcoes").html("");
       				 	$("#listaUsuarios li[pid='"+idPessoa+"']").remove();
					});
					
		       	}	
		       	
		       	var mostrarAlterarPessoa = function() {
		       		$("#dadosCadastro input").removeAttr("disabled");
		       		$("#dadosCadastroAcoes").html("<input type='submit' name='Salvar' value='Salvar' />");
	       			$("#dadosCadastroAcoes input[name='Salvar']").click(function(evento) {
	       				idPessoa = $("#dadosCadastro input[name='idPessoa']").attr("value");
	       				nomeCompleto = $("#dadosCadastro input[name='nomeCompleto']").attr("value");
	       				nome = $("#dadosCadastro input[name='nome']").attr("value");
	       				email = $("#dadosCadastro input[name='email']").attr("value");
	       				cpf = $("#dadosCadastro input[name='cpf']").attr("value");
	       				senha = $("#dadosCadastro input[name='senha']").attr("value");
	       				senhaRepetida = $("#dadosCadastro input[name='senhaRepetida']").attr("value")
	       				if(!(senha==senhaRepetida)) {
	       					alert("A senha de confirmação não confere");
	       					return false;
	       				}
	       				salvarAteracoesPessoa(idPessoa, nomeCompleto, nome, email, cpf, senha )
	       				return false;
	       			});
		       		
		       	}	
		       	
		       	var salvarAteracoesPessoa = function(idPessoa, nomeCompleto, nome, email, cpf, senha) {
		       		$.post('@{ManterPessoa.alterarPessoa()}', { idPessoa:idPessoa, nomeCompleto:nomeCompleto, nome:nome, email:email, cpf:cpf, senha:senha  },  function(data) {
       				 	alert(data);
       				 	$("#dadosCadastro input").attr("disabled", "disabled");
       					$("#dadosCadastroAcoes").html("<input type='submit' name='Alterar' value='Alterar' />&nbsp;&nbsp;&nbsp;&nbsp;<input type='submit' name='Excluir' value='Excluir' />");	
       					$("#dadosCadastroAcoes input[name='Alterar']").click(function(evento) {
       						mostrarAlterarPessoa();
       						return false;
       					});
       				
       			 	});
		       	}
		       	var excluirPapel = function(idPessoa, idPapel) {
		       		$.post('@{ManterPessoa.excluirPapel()}', { idPessoa: idPessoa, idPapel: idPapel },  function(data) {
		       			alert(data);
		       			consultarPessoa(idPessoa);
		       		})
		       	}
		       	var addPapel = function(idPessoa, idPapel) {
		       		$.post('@{ManterPessoa.addPapel()}', { idPessoa: idPessoa, idPapel: idPapel },  function(data) {
		       			alert(data);
		       			consultarPessoa(idPessoa);
		       		})
		       	}
		       	
		       	var consultarPessoa = function(idPessoa) {
		       		$.post('@{ManterPessoa.getPessoa()}', { idPessoa: idPessoa },  function(data) {
		       			pessoaId = $("pessoa > pessoaId", data).text();
		       			txtPapeis = "<table><col width='70%'><col width='30%'>";
		       			$("pessoa > papeis > papel", data).each(function(index) {
		       				txtPapeis += "<tr><td papelId='" + $("id", this).text() + "'>" + $("id", this).text() + " - " + $("descricao", this).text() +  "</td><td><span pessoaId='"+pessoaId+"' papelId='" + $("id", this).text() + "' class='btnAcao'>Excluir</span></td></tr>"; 
		       				
		       			});
		       			txtPapeis += "</table>"
		       			
		       			$("#papeisUsuario fieldset div.papeis").html(txtPapeis);
		       			
		       			$("span.btnAcao").click(function(evento) {
		       				excluirPapel($(this).attr("pessoaId"),$(this).attr("papelId") );
		       			});
		       			
		       			txtPapeisAdd = "<form id='addNovoPapel' action='@{ManterPessoa.addPapel()}'><label>Selecione:</label><br><select id='selPapelAdd'>";
		       			$("pessoa > papeisParaAdd > papel", data).each(function(index) {
		       				txtPapeisAdd += "<option value='"+ $("id", this).text() +"'>"+ $("descricao", this).text() +"</option>";
		       			});
		       			txtPapeisAdd += "</select><br><br><input type='submit' name='Enviar' value='   Enviar   '></form>";
		       			
		       			$("#addNovoPapel fieldset div.painelNovoPapel").html(txtPapeisAdd);
		       			
		       			$("#addNovoPapel input[type='submit']").click(function(evento) {
		       				idPapel = $("#selPapelAdd").attr("value");
		       				addPapel(pessoaId,idPapel);
		       				return false;
		       			});
		       			
	       				pessoaId = $("pessoa > pessoaId", data).text();
	       				$("#dadosCadastro input[name='idPessoa']").attr("value", pessoaId);
	       				nomeCompleto = $("pessoa > nomeCompleto", data).text();
       				 	$("#dadosCadastro input[name='nomeCompleto']").attr("value", nomeCompleto);
       					nome = $("pessoa > nome", data).text();
       				 	$("#dadosCadastro input[name='nome']").attr("value", nome);
       					email = $("pessoa > email", data).text();
       				 	$("#dadosCadastro input[name='email']").attr("value", email);
       					cpf = $("pessoa > cpf", data).text();
       				 	$("#dadosCadastro input[name='cpf']").attr("value", cpf);
       				 	senha = $("pessoa > senha", data).text();
       				 	$("#dadosCadastro input[name='senha']").attr("value", senha);
       				 	senhaRepetida = $("pessoa > senhaRepetida", data).text();
       				 	$("#dadosCadastro input[name='senhaRepetida']").attr("value", senhaRepetida);
       				 	$("#dadosCadastro input").attr("disabled", "disabled");
    					$("#dadosCadastroAcoes").html("<input type='submit' name='Alterar' value='Alterar' />&nbsp;&nbsp;&nbsp;&nbsp;<input type='submit' name='Excluir' value='Excluir' />");	
    					$("#dadosCadastroAcoes input[name='Alterar']").click(function(evento) {
    						mostrarAlterarPessoa();
    						return false;
    					});
    					$("#dadosCadastroAcoes input[name='Excluir']").click(function(evento) {
    						idPessoa = $("#dadosCadastro input[name='idPessoa']").attr("value");
    						excluirPessoa(idPessoa);
    						return false;
    					});
       			 	});
		       	}
        	}
        
        </script>
        
    </head>
    <body>
    	
    	<div id="pagina" align="center">
	    	<div id="aplicacao">
		    	<div id="topo">
		    		<img src="/public/images/topo.jpg" alt="Sistema para acompanhamento de chamados" />
		    	</div>
		    	
	    	
    	 		#{doLayout /}
    		</div> 
    	</div>
    </body>
</html>
